/**
 * 菜单管理相关API
 */
import { post, get } from '@/utils/request'

export const menuApi = {
  /**
   * 获取菜单树形结构
   * @returns {Promise} 菜单树数据
   */
  getMenuTree() {
    return post('/api/menu/index')
  },

  /**
   * 获取指定菜单下的功能列表
   * @param {string} menuId - 菜单ID
   * @returns {Promise} 功能列表数据
   */
  getFunctionList(pid) {
    return post('/api/func/index', { pid })
  },

  /**
   * 新增菜单
   * @param {Object} data - 菜单数据
   * @returns {Promise} 创建结果
   */
  createMenu(data) {
    return post('/api/menu/add', data)
  },

  /**
   * 更新菜单
   * @param {string} id - 菜单ID
   * @param {Object} data - 菜单数据
   * @returns {Promise} 更新结果
   */
  updateMenu(data) {
    return post('/api/menu/edit', data)
  },

  /**
   * 删除菜单
   * @param {string} id - 菜单ID
   * @returns {Promise} 删除结果
   */
  deleteMenu(id) {
    return post('/api/menu/delete', { id })
  },

  /**
   * 切换菜单状态（启用/禁用）
   * @param {string} id - 菜单ID
   * @param {number} status - 状态值（1启用，0禁用）
   * @returns {Promise} 切换结果
   */
  toggleMenuStatus(id, status) {
    return post('/api/menu/edit', { id, status })
  },

  /**
   * 新增功能
   * @param {Object} data - 功能数据
   * @returns {Promise} 创建结果
   */
  createFunction(data) {
    return post('/api/func/add', data)
  },

  /**
   * 更新功能
   * @param {string} id - 功能ID
   * @param {Object} data - 功能数据
   * @returns {Promise} 更新结果
   */
  updateFunction(data) {
    return post('/api/func/edit', data)
  },

  /**
   * 删除功能
   * @param {string} id - 功能ID
   * @returns {Promise} 删除结果
   */
  deleteFunction(id) {
    return post('/api/func/delete', { id })
  }
}
